package com.qdlc.p2p.biz.service;

import java.util.List;

import com.qdlc.p2p.dal.dto.BondCollection;
import com.qdlc.p2p.dal.dto.Borrow;
import com.qdlc.p2p.dal.dto.BorrowCollection;
import com.qdlc.p2p.dal.dto.BorrowRepayment;
import com.qdlc.p2p.dal.dto.User;
import com.qdlc.p2p.dal.model.BorrowModel;
import com.qdlc.p2p.dal.model.TppModel;

/**
 * 第三方投资业务
 * 
 * @author ylx
 * @version 2.0
 * @date 2015年6月4日 上午11:38:07
 */
public interface TppInvestService {
	
	/**
	 * 第三方投资
	 * 
	 * @param model BorrowModel
	 */
	void addTppTender(BorrowModel model);
	
	/**
	 * 新浪自动投标处理 
	 * @param money
	 * @param autoTenderMaxAcount
	 * @param borrow
	 * @param user
	 * @param
	 */
	void tppAutoTender(double money, double autoTenderMaxAcount, Borrow borrow,
			User user);
	
	/**
	 * 自动投标本地核心业务
	 * @param money
	 * @param totalAccountYes
	 * @param borrow
	 * @param user
	 * @param flag
	 */
	void autoTenderHander(BorrowModel borrowModel);
	
	/**
	 * 第三方还款业务
	 * 
	 * @param borrowCollectionList
	 * @param bondCollectionList
	 */
	void doTppRepay(List<BorrowCollection> borrowCollectionList, List<BondCollection> bondCollectionList);
	
	/**
	 * 第三方平台垫付业务
	 * 
	 * @param list
	 */
	void doTppWebAdvance(List<BorrowCollection> list);
	
	/**
	 * 第三方平台垫付后借款人还款给平台业务处理
	 * 
	 * @param borrowRepayment
	 */
	void doTppLateRepayment(BorrowRepayment borrowRepayment);
	
	/**
	 * <p>第三方业务处理</p>
	 * @author 原系统 2016年2月14日 上午9:51:57
	 * @param taskList
	 * @modificationHistory=========================逻辑或功能性重大变更记录
	 * @modify by user: Kaiju Zhao 2016年2月14日 上午9:51:57
	 * @modify by reason: 规范代码
	 */
	void doTppTask(List<TppModel> taskList);
	
	/**
	 * 调度任务处理
	 * 
	 * @param taskList
	 */
	void tppDispatchTask(List<TppModel> taskList);

	/**
	 * 投标代收后调度任务处理
	 * 
	 * @param taskList
	 */
	void quartzAddTppTender();

}
